﻿using System.ComponentModel.Composition;
using Microsoft.VisualStudio.Text.Classification;
using Microsoft.VisualStudio.Utilities;

namespace LuaLanguageExtension
{
    internal static class LuaLanguageExtensionClassificationDefinition
    {

        /// <summary>
        /// Defines the "None" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.Unknown")]
        internal static ClassificationTypeDefinition UnknownType = null;

        /// <summary>
        /// Defines the "Operator" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.Operator")]
        internal static ClassificationTypeDefinition OperatorType = null;

        /// <summary>
        /// Defines the "Punctuation" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.Punctuation")]
        internal static ClassificationTypeDefinition PunctuationType = null;

        /// <summary>
        /// Defines the "Word" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.Word")]
        internal static ClassificationTypeDefinition WordType = null;

        /// <summary>
        /// Defines the "Constant" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.Constant")]
        internal static ClassificationTypeDefinition ConstantType = null;

        /// <summary>
        /// Defines the "Digit" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.Digit")]
        internal static ClassificationTypeDefinition DigitType = null;

        /// <summary>
        /// Defines the "String" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.String")]
        internal static ClassificationTypeDefinition StringType = null;

        /// <summary>
        /// Defines the "Comment" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.Comment")]
        internal static ClassificationTypeDefinition CommentType = null;

        /// <summary>
        /// Defines the "KeyWord" classification type.
        /// </summary>
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("PSLib.KeyWord")]
        internal static ClassificationTypeDefinition KeyWordType = null;
    }
}
